The present invention relates to computer software applications used to facilitate communications between separate computers. More specifically, the present invention relates to software programs, operating on a client computer, that interact with software located on server computers. Further still, the present invention relates to the ability of a client to manipulate a response received by the client from a server.
The Internet is a distributed, worldwide computer network comprising computers belonging to various entities such as corporations, institutes of learning, and research organizations. The computers are connected by gateways that handle data transfer and conversion of messages from a sending network to the protocols used by a receiving network. In essence, the Internet is a collection of networks and gateways that use the TCP/IP suite of protocols. TCP/IP is an acronym for transport control protocol/interface program, a software protocol developed by the Department of Defense for communications between computers.
The worldwide web, i.e., web, is a specific Internet network using a specific Internet protocol, i.e., Hyper Text Transfer Protocol (HTTP). In general, protocols are a set of rules in a prearranged data format defining how two computers communicate on the computer network 54. Servers that use the web are known as web servers and typically provide many separate electronic files, displays or documents that are accessible to other web servers or web clients. These electronic files are identified by a uniform resource identifier (URI) or a uniform resource locator (URL).
In connection with wide area networks such as the Internet, operating systems having browsers are available for client computers to facilitate communication between the client computers and the server computer. Browsers in the operating system typically provide many functions, but most importantly they provide a graphical user interface that allows the user to both enter a request for an electronic web document from their personal computer (PC) and to view the response once it is returned.
The process of requesting web documents using the browser is generally referred to as either navigating or browsing the web since it is relatively simple to jump from one web server to the another. Often however, while browsing the web one of many possible errors occurs. Depending on the error, the client system may receive a response informing the client that an error occurred in processing the request. Typically the response will include status code information as to the kind of error but, unfortunately, the information is conveyed to the client system at a relatively low level and few users understand the error. Typically, the information is at such a low level that it is relatively obscure to most users, especially those users not familiar with the specific status codes as defined in the HTTP standards.
As an example, the error displayed message may only provide the information that xe2x80x9cerror 404xe2x80x9d occurred. Receiving information that error 404 occurred does not inform an unsophisticated computer user of anything other than the fact that an error occurred. The user typically has no idea how to proceed or to resolve the issue. Even more experienced computer users may not understand all the highly technical error status codes or all the possible ways to resolve the issue. Unfortunately, receiving such an obscure error message tends to intimidate many computer users.
Some network servers have been proactive in attempting to prevent the display of such highly technical and relatively unfriendly error pages. These servers essentially provide, as part of their response, an electronic document or page display that informs the user of the error that occurred, the possible reasons why the error occurred and possible ways to fix or otherwise avoid the recurrence of the particular error. For example, a web server that receives a request for a particular file or page that is not present on the server may return a web page acknowledging that error 404 occurred, that the file is not found or not located on the server and that the user should double check their request to make sure an error was not made in the request.
Although these pages are much more helpful, servers are not required to provide such pages, and thus most servers do not. Moreover, it appears unreasonable to mandate that all servers comport to rigorous standards requiring these friendly pages. It is with respect to these and other considerations that the present invention has been made.
The present invention is related to an improved client system having the capability to analyze responses returned from various servers and determine whether an error occurred at the server. Another aspect of the present invention relates to client system having the capability of analyzing the full response associated with an error to thereby determine whether corrective action should be taken. When taken, corrective action preferably relates to replacing the error-response page returned from the server with a client generated page display. Additionally, the client system of the present invention is capable of generating and displaying the replacement page to the user.
The replacement page displayed by the client is designed to be more xe2x80x9cuser friendlyxe2x80x9d by providing useful information to the user related to which error occurred, why the error occurred and some possible solutions which may enable the user to either fix the error or avoid the error in the future. In another feature of the invention, the friendly error page also provides hyper-links to areas or sites on the World Wide Web that are considered to be safe, which are those web pages that are both accessible and returnable to the user without an error occurring.
A more complete appreciation of the present invention may be obtained from the accompanying drawings, which are briefly summarized below, from the following detailed description of the invention and from the appended claims.